package com.thinvent.remotepassword.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.thinvent.remotepassword.dto.ChatResponse;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 模型调用工具类
 */
public class GLMUtil {

    /**
     * 请求模型获取结果
     * @param prompt
     * @return
     */
    public static String getModelResponse(String prompt) {
        // 发送http请求到模型
        Map<String, String> map = new HashMap<>();
        map.put("prompt", prompt);
        String s = JSONObject.toJSONString(map);
        String postString = HttpClientUtil.doPost("http://60.204.204.87:8888",s);
        // 解析返回的字符串
        ChatResponse chatResponse1 = JSON.parseObject(postString, ChatResponse.class);
        String response = chatResponse1.getResponse();
        return response;
    }

    public static void main(String[] args) {
//        String result = getModelResponse("重大项目库里面，我们有中央预算内投资，有其他地方财政性建设资金。但是填报已完成投资里面，我们的其他地方财政性建设资金是不是填到其他类别汇总里。  请提取上述问题的关键语义(只需要提取关键语义，不需要解释，分点列出来)");
//        System.out.println(result);
        // 原始字符串
        String rawString = "1. 提示项目代码与项目名称不匹配，请确认是否需要修改？说明国家重大建设项目库系统当中的项目名称和中央在线审批监管平台当中的项目名称不一致，需要您修改一致才能验证成功；但是代码和名称可以有微小误差，这种情况也是可以报送的。" +
                "2. 提示系统没有该项目代码/代码验证未通过/未能找到相应代码项目信息，请核实！验证通不过一般是2个问题：" +
                "   - 请核实审批平台代码是否填写正确。请您注意代码当中的横线，以及数字的全半角。正确的审批平台代码格式为xxxx-xxxxxx-xx-xx-xxxxxx。" +
                "   - 当地的审批监管平台的数据是否上传给国家在线审批平台\n" +
                "   请先去http://www.tzxm.gov.cn/index.html平台进行验证您的项目代码是否推送到国家：如果这里验证无法通过，说明您的项目代码没有推送到国家重大建设项目库，所以在国家重大建设项目库无法验证通过。";

        // 按换行符分割字符串
        String[] messages = rawString.split("\n");

        // 创建List并将分割后的字符串添加到List中
        List<String> errorMessages = new ArrayList<>();
        for (String message : messages) {
            errorMessages.add(message.trim()); // 去除多余的空白字符
        }

        // 打印List中的内容
        for (String message : errorMessages) {
            System.out.println(message);
        }
    }

}
